var EventEmitter = require("events").EventEmitter
var life = new EventEmitter()
// 设置life的最大监听函数是11个   这个必须放在监听函数 前面，new后面
life.setMaxListeners(11)
// addEventListener 和 on 的功能一样  emit调用这个方法
function water (who){
  console.log("为 " + who + " 倒水1")
}
life.on("eat",water)
life.on("eat",function(who){
  console.log("为 " + who + " 倒水2")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水3")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水4")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水5")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水6")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水7")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水8")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水9")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水10")
})
life.on("eat",function(who){
  console.log("为 " + who + " 倒水11")
})
life.on("water",function(who){
  console.log("为 " + who + " 倒水11")
})
//单个移除    删除life的一个监听事件，里面的函数不能是匿名函数，比如water这样才可以
life.removeListener("eat",water)
// 移除life所有的事件，可以带参数，可以除掉一类的事件
// life.removeAllListeners()
// 移除life所有的事件，可以带参数，可以除掉一类的事件
life.removeAllListeners("water")
// 我想知道这个life还有几个监听事件，用listeners
console.log(life.listeners("eat").length)
console.log(life.listeners("water").length)
// 还有一种更方便的方式，用来查看监听的数量   第一个参数传入实例的名字，第二个参数传入监听的事件  (实例不加引号，监听事件加引号)
// console.log(EventEmitter.listenerCount(life,"eat"))


// 调用eat 监听事件，不写这个就不调用
// life.emit("eat","jeshurun")


// var hasLifeListener = life.emit("eat","jeshurun")
// console.log(hasLifeListener)  //true


var hasLifeListener2 = life.emit("eat2","jeshurun")
console.log(hasLifeListener2) //false


